import request from "../utils/request";

/**
 * 获取图层数据列表
 * @param     keyWord        图层名（可选）
 */
export const getAllLayerdata = (params) => {
    return request.get("/LayerData/GetAllLayerdata", {
        params
    })
}

// 获取图层根节点
export const getFirstDatas = () => {
    return request.get("/LayerData/GetFirstDatas")
}


// 添加图层数据
export const addLayerdata = (data) => {
    return request.post("/LayerData/AddLayerdata", data)
}

// 编辑图层数据
export const updateLayerdata = (data) => {
    return request.post("/LayerData/UpdateLayerdata", data)
}

export const updateLayerdataJson = (data) => {
    return request.post("/LayerData/UpdateLayerdataJson", data)
}

// 删除图层数据
export const deleteLayerdata = (params) => {
    return request.delete("/LayerData/DeleteLayerdata", {
        params
    })
}


// 获取角色列表
export const getRoleList = (params) => {
    return request.get("/Role/GetRoleList", {
        params
    })
}

// 获取角色列表（带绑定了用户）
export const getRoleAndUser = (params) => {
    return request.get("/Role/GetRoleAndUser", {
        params
    })
}

// 添加角色
export const addRole = (data) => {
    return request.post("/Role/AddRole", data)
}

// 修改角色
export const updataRole = (data) => {
    return request.post("/Role/UpdateRole", data)
}

// 删除角色
export const deleteRole = (id) => {
    return request.delete("/Role/DeleteRole", {
        params: {
            id
        }
    })
}

// 获取用户列表
export const getUserList = (params) => {
    return request.get("/UserInfo/GetUserList", {
        params
    })
}

// 添加用户
export const addUser = (data) => {
    return request.post("/UserInfo/Insert", data)
}

// 修改用户
export const updataUser = (data) => {
    return request.post("/UserInfo/Update", data)
}

// 删除用户
export const deleteUser = (id) => {
    return request.post(`/UserInfo/DeleteById?id=${id}`)
}

// 获取场景列表（主要展示场景与角色的配置信息）
export const getSceneList = (params) => {
    return request.get("/Sence/GetSenceAndRoleList", {
        params
    })
}

// 添加场景
export const addSence = (data) => {
    return request.post("/Sence/AddSence", data)
}

// 修改场景
export const updateSence = (data) => {
    return request.post("/Sence/UpdateSence", data)
}

// 删除场景
export const deleteSence = (id) => {
    return request.delete("/Sence/DeleteSence", {
        params: {
            id
        }
    })
}

// 给场景添加角色
export const addSenceRole = (data) => {
    return request.post("/Sence/AddSenceRole", data)
}

// 场景图层上移/下移
export const upAndDownSenceData = (data) => {
    return request.post("/Sence/UpAndDownSenceData", data)
}

// 获取场景图层树,返回所有图层数据，如果传入场景id（senceId) ，则场景包含的图层的 checked 为 true ,如果不传场景id（senceId) ，则所有场景 checked 为 false
// senceId
export const getSceneLayerData = (sceneId) => {
    return request.post("/Senceandlayer/GetSenceLayerData" + (sceneId ? `?senceId=${sceneId}` : ''))
}

// 获取场景图层树,只返回该场景下的图层（场景页面使用该接口）
// senceId
export const getSceneLayerList = (sceneId) => {
    return request.post("/Senceandlayer/GetSenceLayerList" + (sceneId ? `?senceId=${sceneId}` : ''))
}

// 给场景添加图层
export const addSenceLayerData = (data) => {
    return request.post("/Senceandlayer/AddSenceLayerData", data)
}

// 移除场景中的图层
export const deleteSenceLayerData = (data) => {
    return request.post("/Senceandlayer/DeleteSenceLayerData", data)
}

// 获取场景功能树,返回所有图层功能，如果传入场景id（senceId) ，则场景包含的功能的 checked 为 true ,如果不传场景id（senceId) ，则所有场景 checked 为 false
export const getSenceFunction = (params) => {
    return request.get("/Sence/GetSenceFunction", {
        params
    })
}

// 获取场景功能列表,只返回该场景下的功能
export const getSenceMenuList = (params) => {
    return request.get("/Sence/GetSenceMenuList", {
        params
    })
}

// 给某个场景添加功能
export const batchAddSenceMenu = (data) => {
    return request.post("/Sence/BatchAddSenceMenu", data)
}

// 给某个场景移除功能
export const batchDeleteSenceMenu = (data) => {
    return request.post("/Sence/BatchDeleteSenceMenu", data)
}

// 设置场景的默认功能
export const setSenceDefaultMenu = (data) => {
    return request.post("/Sence/SetSenceDefaultMenu", data)
}

// 获取路由信息
export const routerList = () => {
    return request.get("/Menus/RouterList")
}